#!/bin/bash

# FreeSWITCH SIP客户端测试脚本

echo "=== FreeSWITCH SIP客户端测试 ==="

# 检查Rust是否安装
if ! command -v cargo &> /dev/null; then
    echo "❌ Rust未安装，请先安装Rust"
    exit 1
fi

# 编译项目
echo "📦 编译项目..."
cargo build --release
if [ $? -ne 0 ]; then
    echo "❌ 编译失败"
    exit 1
fi
echo "✅ 编译成功"

# 测试SIP消息处理
echo "🧪 测试SIP消息处理..."
cargo run --release -- test
if [ $? -ne 0 ]; then
    echo "❌ SIP消息处理测试失败"
    exit 1
fi
echo "✅ SIP消息处理测试成功"

# 测试自定义消息
echo "🧪 测试自定义SIP消息..."
cargo run --release -- test --message "BYE sip:1000@127.0.0.1 SIP/2.0"
if [ $? -ne 0 ]; then
    echo "❌ 自定义消息测试失败"
    exit 1
fi
echo "✅ 自定义消息测试成功"

# 检查端口是否可用
echo "🔍 检查端口可用性..."
if lsof -Pi :5060 -sTCP:LISTEN -t >/dev/null ; then
    echo "⚠️  端口5060已被占用，可能影响测试"
else
    echo "✅ 端口5060可用"
fi

if lsof -Pi :5061 -sTCP:LISTEN -t >/dev/null ; then
    echo "⚠️  端口5061已被占用，可能影响测试"
else
    echo "✅ 端口5061可用"
fi

# 显示帮助信息
echo ""
echo "📖 使用说明："
echo "1. 启动SIP客户端服务器："
echo "   cargo run --release -- start --username your_username --password your_password"
echo ""
echo "2. 拨打电话："
echo "   cargo run --release -- call --number 1000 --username your_username --password your_password"
echo ""
echo "3. 测试功能："
echo "   cargo run --release -- test"
echo ""

echo "✅ 所有测试完成！" 